Computing devices have a shared memory region in a critical section or region for access by multiple processes or threads. A thread represents or otherwise identifies a series of one or more operations on the shared memory region according to programed instructions of a process. For instance, a thread could require access to the critical section for writing data to a memory element in the critical section. Sometimes an operating system will allocate within the critical section a new shared memory region and copy data from an old shared memory region to the new shared memory region. In order to protect the integrity of the data in the critical section during copying, an operating system of a computing device will lock the entire critical section from access for operations on the old memory region.